#include "pwm.h"

void pwm_init()
{
    CCON = 0x00;
	CMOD = 0x08; //PCA 时钟为系统时钟
	CL = 0x00;
	CH = 0x00;
    //－－ 6 位 PWM－－
	CCAPM0 = 0x42; //PCA 模块 0 为 PWM 工作模式
	PCA_PWM0 = 0x80; //PCA 模块 0 输出 6 位 PWM
	CCAP0L = 0x20; //PWM 占空比为 50%[(40H-20H)/40H]
	CCAP0H = 0x20;
	//－－ 7 位 PWM－－
	CCAPM1 = 0x42; //PCA 模块 1 为 PWM 工作模式
	PCA_PWM1 = 0x40; //PCA 模块 1 输出 7 位 PWM
	CCAP1L = 0x20; //PWM 占空比为 75%[(80H-20H)/80H]
	CCAP1H = 0x20;
	//－－ 8 位 PWM－－
	// CCAPM2 = 0x42; //PCA 模块 2 为 PWM 工作模式
	// PCA_PWM2 = 0x00; //PCA 模块 2 输出 8 位 PWM
	// CCAP2L = 0x20; //PWM 占空比为 87.5%[(100H-20H)/100H]
	// CCAP2H = 0x20;
	//－－ 10 位 PWM－－
	CCAPM2 = 0x42; //PCA 模块 2 为 PWM 工作模式
	PCA_PWM2 = 0xc0; //PCA 模块 2 输出 10 位 PWM
	CCAP2L = 0x20; //PWM 占空比为 96.875%[(400H-20H)/400H]
	CCAP2H = 0x20;
	CR = 1; //启动 PCA 计时器
}